<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>affine_trans_point_2d [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_transformations.html">变换</a> / <a href="toc_transformations_2dtransformations.html">2D Transformations</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">affine_trans_point_2d</span><span data-if="c" style="display:none;">T_affine_trans_point_2d</span><span data-if="cpp" style="display:none;">AffineTransPoint2d</span><span data-if="dotnet" style="display:none;">AffineTransPoint2d</span><span data-if="python" style="display:none;">affine_trans_point_2d</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">affine_trans_point_2d</span><span data-if="c" style="display:none;">T_affine_trans_point_2d</span><span data-if="cpp" style="display:none;">AffineTransPoint2d</span><span data-if="dotnet" style="display:none;">AffineTransPoint2d</span><span data-if="python" style="display:none;">affine_trans_point_2d</span></code> — Apply an arbitrary affine 2D transformation to points.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>affine_trans_point_2d</b>( :  : <a href="#HomMat2D"><i>HomMat2D</i></a>, <a href="#Px"><i>Px</i></a>, <a href="#Py"><i>Py</i></a> : <a href="#Qx"><i>Qx</i></a>, <a href="#Qy"><i>Qy</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_affine_trans_point_2d</b>(const Htuple <a href="#HomMat2D"><i>HomMat2D</i></a>, const Htuple <a href="#Px"><i>Px</i></a>, const Htuple <a href="#Py"><i>Py</i></a>, Htuple* <a href="#Qx"><i>Qx</i></a>, Htuple* <a href="#Qy"><i>Qy</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>AffineTransPoint2d</b>(const HTuple&amp; <a href="#HomMat2D"><i>HomMat2D</i></a>, const HTuple&amp; <a href="#Px"><i>Px</i></a>, const HTuple&amp; <a href="#Py"><i>Py</i></a>, HTuple* <a href="#Qx"><i>Qx</i></a>, HTuple* <a href="#Qy"><i>Qy</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HHomMat2D.html">HHomMat2D</a>::<b>AffineTransPoint2d</b>(const HTuple&amp; <a href="#Px"><i>Px</i></a>, const HTuple&amp; <a href="#Py"><i>Py</i></a>, HTuple* <a href="#Qy"><i>Qy</i></a>) const</code></p>
<p>
<code>double <a href="HHomMat2D.html">HHomMat2D</a>::<b>AffineTransPoint2d</b>(double <a href="#Px"><i>Px</i></a>, double <a href="#Py"><i>Py</i></a>, double* <a href="#Qy"><i>Qy</i></a>) const</code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>AffineTransPoint2d</b>(<a href="HTuple.html">HTuple</a> <a href="#HomMat2D"><i>homMat2D</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Px"><i>px</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Py"><i>py</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Qx"><i>qx</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Qy"><i>qy</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HHomMat2D.html">HHomMat2D</a>.<b>AffineTransPoint2d</b>(<a href="HTuple.html">HTuple</a> <a href="#Px"><i>px</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Py"><i>py</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Qy"><i>qy</i></a>)</code></p>
<p>
<code>double <a href="HHomMat2D.html">HHomMat2D</a>.<b>AffineTransPoint2d</b>(double <a href="#Px"><i>px</i></a>, double <a href="#Py"><i>py</i></a>, out double <a href="#Qy"><i>qy</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>affine_trans_point_2d</b>(<a href="#HomMat2D"><i>hom_mat_2d</i></a>: Sequence[float], <a href="#Px"><i>px</i></a>: MaybeSequence[Union[float, int]], <a href="#Py"><i>py</i></a>: MaybeSequence[Union[float, int]]) -&gt; Tuple[Sequence[float], Sequence[float]]</code></p>
<p>
<code>def <b>affine_trans_point_2d_s</b>(<a href="#HomMat2D"><i>hom_mat_2d</i></a>: Sequence[float], <a href="#Px"><i>px</i></a>: MaybeSequence[Union[float, int]], <a href="#Py"><i>py</i></a>: MaybeSequence[Union[float, int]]) -&gt; Tuple[float, float]</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p><code><span data-if="hdevelop" style="display:inline">affine_trans_point_2d</span><span data-if="c" style="display:none">affine_trans_point_2d</span><span data-if="cpp" style="display:none">AffineTransPoint2d</span><span data-if="com" style="display:none">AffineTransPoint2d</span><span data-if="dotnet" style="display:none">AffineTransPoint2d</span><span data-if="python" style="display:none">affine_trans_point_2d</span></code> applies an arbitrary affine 2D transformation,
i.e., scaling, rotation, translation, and slant (skewing), to the input
points (<a href="#Px"><i><code><span data-if="hdevelop" style="display:inline">Px</span><span data-if="c" style="display:none">Px</span><span data-if="cpp" style="display:none">Px</span><span data-if="com" style="display:none">Px</span><span data-if="dotnet" style="display:none">px</span><span data-if="python" style="display:none">px</span></code></i></a>,<a href="#Py"><i><code><span data-if="hdevelop" style="display:inline">Py</span><span data-if="c" style="display:none">Py</span><span data-if="cpp" style="display:none">Py</span><span data-if="com" style="display:none">Py</span><span data-if="dotnet" style="display:none">py</span><span data-if="python" style="display:none">py</span></code></i></a>) and returns the resulting points in
(<a href="#Qx"><i><code><span data-if="hdevelop" style="display:inline">Qx</span><span data-if="c" style="display:none">Qx</span><span data-if="cpp" style="display:none">Qx</span><span data-if="com" style="display:none">Qx</span><span data-if="dotnet" style="display:none">qx</span><span data-if="python" style="display:none">qx</span></code></i></a>,<a href="#Qy"><i><code><span data-if="hdevelop" style="display:inline">Qy</span><span data-if="c" style="display:none">Qy</span><span data-if="cpp" style="display:none">Qy</span><span data-if="com" style="display:none">Qy</span><span data-if="dotnet" style="display:none">qy</span><span data-if="python" style="display:none">qy</span></code></i></a>). The affine transformation is described by the
homogeneous transformation matrix given in <a href="#HomMat2D"><i><code><span data-if="hdevelop" style="display:inline">HomMat2D</span><span data-if="c" style="display:none">HomMat2D</span><span data-if="cpp" style="display:none">HomMat2D</span><span data-if="com" style="display:none">HomMat2D</span><span data-if="dotnet" style="display:none">homMat2D</span><span data-if="python" style="display:none">hom_mat_2d</span></code></i></a>. This
corresponds to the following equation (input and output points as
homogeneous vectors):
</p>
<p><span title="1" class="displaymath"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="14.8255em" height="3.7116em" viewBox="0 0 237.207458 59.385666">
<!-- Original BoundingBox: -118.603729 -29.692825 118.603729 29.692841 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_50">
      <path style="fill-rule: evenodd;" d="M123.000000 -41.000000L123.000000 -44.000000C180.000000 -92.000000,243.000000 -151.000000,330.000000 -237.000000C454.000000 -358.000000,474.000000 -387.000000,474.000000 -446.000000C474.000000 -537.000000,388.000000 -618.000000,290.000000 -618.000000C229.000000 -618.000000,173.000000 -590.000000,136.000000 -542.000000C117.000000 -518.000000,104.000000 -488.000000,104.000000 -470.000000C104.000000 -461.000000,113.000000 -452.000000,123.000000 -452.000000C134.000000 -452.000000,140.000000 -458.000000,144.000000 -472.000000C160.000000 -532.000000,222.000000 -577.000000,290.000000 -577.000000C366.000000 -577.000000,433.000000 -516.000000,433.000000 -447.000000C433.000000 -402.000000,414.000000 -374.000000,320.000000 -282.000000C245.000000 -208.000000,165.000000 -133.000000,84.000000 -60.000000L84.000000 -0.000000L478.000000 -0.000000L478.000000 -77.000000C478.000000 -95.000000,471.000000 -104.000000,458.000000 -104.000000C444.000000 -104.000000,437.000000 -95.000000,437.000000 -77.000000L437.000000 -41.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_68">
      <path style="fill-rule: evenodd;" d="M104.000000 -41.000000L70.000000 -41.000000C52.000000 -41.000000,43.000000 -34.000000,43.000000 -21.000000C43.000000 -7.000000,52.000000 -0.000000,70.000000 -0.000000L290.000000 -0.000000C419.000000 -0.000000,520.000000 -112.000000,520.000000 -254.000000L520.000000 -310.000000C520.000000 -451.000000,419.000000 -563.000000,290.000000 -563.000000L70.000000 -563.000000C52.000000 -563.000000,43.000000 -556.000000,43.000000 -543.000000C43.000000 -529.000000,52.000000 -522.000000,70.000000 -522.000000L104.000000 -522.000000M145.000000 -41.000000L145.000000 -522.000000L288.000000 -522.000000C342.000000 -522.000000,379.000000 -507.000000,414.000000 -472.000000C454.000000 -431.000000,479.000000 -371.000000,479.000000 -318.000000L479.000000 -245.000000C479.000000 -139.000000,391.000000 -41.000000,295.000000 -41.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_72">
      <path style="fill-rule: evenodd;" d="M437.000000 -272.000000L437.000000 -41.000000L383.000000 -41.000000C365.000000 -41.000000,356.000000 -34.000000,356.000000 -21.000000C356.000000 -7.000000,365.000000 -0.000000,383.000000 -0.000000L524.000000 -0.000000C541.000000 -0.000000,551.000000 -7.000000,551.000000 -21.000000C551.000000 -34.000000,542.000000 -41.000000,524.000000 -41.000000L478.000000 -41.000000L478.000000 -522.000000L503.000000 -522.000000C521.000000 -522.000000,530.000000 -529.000000,530.000000 -543.000000C530.000000 -556.000000,521.000000 -563.000000,503.000000 -563.000000L383.000000 -563.000000C365.000000 -563.000000,356.000000 -556.000000,356.000000 -543.000000C356.000000 -529.000000,365.000000 -522.000000,383.000000 -522.000000L437.000000 -522.000000L437.000000 -313.000000L167.000000 -313.000000L167.000000 -522.000000L221.000000 -522.000000C239.000000 -522.000000,248.000000 -529.000000,248.000000 -543.000000C248.000000 -556.000000,239.000000 -563.000000,221.000000 -563.000000L101.000000 -563.000000C83.000000 -563.000000,74.000000 -556.000000,74.000000 -543.000000C74.000000 -529.000000,83.000000 -522.000000,101.000000 -522.000000L126.000000 -522.000000L126.000000 -41.000000L81.000000 -41.000000C62.000000 -41.000000,53.000000 -34.000000,53.000000 -21.000000C53.000000 -7.000000,63.000000 -0.000000,81.000000 -0.000000L221.000000 -0.000000C239.000000 -0.000000,248.000000 -7.000000,248.000000 -21.000000C248.000000 -34.000000,239.000000 -41.000000,221.000000 -41.000000L167.000000 -41.000000L167.000000 -272.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_77">
      <path style="fill-rule: evenodd;" d="M326.000000 -169.000000L483.000000 -522.000000L491.000000 -522.000000L491.000000 -41.000000L417.000000 -41.000000C399.000000 -41.000000,390.000000 -34.000000,390.000000 -21.000000C390.000000 -7.000000,399.000000 -0.000000,417.000000 -0.000000L566.000000 -0.000000C584.000000 -0.000000,593.000000 -7.000000,593.000000 -21.000000C593.000000 -34.000000,584.000000 -41.000000,566.000000 -41.000000L532.000000 -41.000000L532.000000 -522.000000L557.000000 -522.000000C575.000000 -522.000000,584.000000 -529.000000,584.000000 -543.000000C584.000000 -556.000000,575.000000 -563.000000,557.000000 -563.000000L457.000000 -563.000000L303.000000 -215.000000L146.000000 -563.000000L47.000000 -563.000000C29.000000 -563.000000,20.000000 -556.000000,20.000000 -543.000000C20.000000 -529.000000,29.000000 -522.000000,47.000000 -522.000000L72.000000 -522.000000L72.000000 -41.000000L38.000000 -41.000000C20.000000 -41.000000,11.000000 -34.000000,11.000000 -21.000000C11.000000 -7.000000,20.000000 -0.000000,38.000000 -0.000000L187.000000 -0.000000C205.000000 -0.000000,215.000000 -7.000000,215.000000 -21.000000C215.000000 -34.000000,206.000000 -41.000000,187.000000 -41.000000L113.000000 -41.000000L113.000000 -522.000000L121.000000 -522.000000L280.000000 -169.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_80">
      <path style="fill-rule: evenodd;" d="M165.000000 -231.000000L296.000000 -231.000000C410.000000 -231.000000,499.000000 -305.000000,499.000000 -398.000000C499.000000 -491.000000,416.000000 -563.000000,310.000000 -563.000000L70.000000 -563.000000C52.000000 -563.000000,43.000000 -556.000000,43.000000 -543.000000C43.000000 -529.000000,52.000000 -522.000000,70.000000 -522.000000L124.000000 -522.000000L124.000000 -41.000000L70.000000 -41.000000C52.000000 -41.000000,43.000000 -34.000000,43.000000 -21.000000C43.000000 -7.000000,52.000000 -0.000000,70.000000 -0.000000L303.000000 -0.000000C321.000000 -0.000000,331.000000 -7.000000,331.000000 -21.000000C331.000000 -34.000000,322.000000 -41.000000,303.000000 -41.000000L165.000000 -41.000000M165.000000 -272.000000L165.000000 -522.000000L314.000000 -522.000000C393.000000 -522.000000,458.000000 -466.000000,458.000000 -398.000000C458.000000 -329.000000,386.000000 -272.000000,299.000000 -272.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_81">
      <path style="fill-rule: evenodd;" d="M305.000000 16.000000C443.000000 12.000000,549.000000 -116.000000,549.000000 -280.000000C549.000000 -445.000000,439.000000 -576.000000,300.000000 -576.000000C161.000000 -576.000000,51.000000 -445.000000,51.000000 -280.000000C51.000000 -139.000000,135.000000 -15.000000,249.000000 10.000000L159.000000 75.000000C152.000000 80.000000,148.000000 86.000000,148.000000 93.000000C148.000000 105.000000,157.000000 114.000000,168.000000 114.000000C171.000000 114.000000,174.000000 113.000000,178.000000 112.000000C221.000000 100.000000,288.000000 89.000000,318.000000 89.000000C343.000000 89.000000,359.000000 92.000000,386.000000 102.000000C415.000000 112.000000,426.000000 115.000000,442.000000 115.000000C484.000000 115.000000,546.000000 84.000000,546.000000 64.000000C546.000000 52.000000,537.000000 43.000000,526.000000 43.000000C522.000000 43.000000,518.000000 44.000000,514.000000 47.000000C483.000000 67.000000,466.000000 74.000000,445.000000 74.000000C432.000000 74.000000,424.000000 72.000000,400.000000 63.000000C370.000000 52.000000,347.000000 48.000000,318.000000 48.000000C297.000000 48.000000,281.000000 50.000000,251.000000 56.000000M300.000000 -535.000000C416.000000 -535.000000,508.000000 -421.000000,508.000000 -277.000000C508.000000 -140.000000,413.000000 -25.000000,300.000000 -25.000000C186.000000 -25.000000,92.000000 -140.000000,92.000000 -280.000000C92.000000 -420.000000,185.000000 -535.000000,300.000000 -535.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_97">
      <path style="fill-rule: evenodd;" d="M419.000000 -0.000000L514.000000 -0.000000C532.000000 -0.000000,541.000000 -7.000000,541.000000 -21.000000C541.000000 -34.000000,532.000000 -41.000000,514.000000 -41.000000L460.000000 -41.000000L460.000000 -308.000000C460.000000 -379.000000,392.000000 -431.000000,299.000000 -431.000000C262.000000 -431.000000,197.000000 -418.000000,142.000000 -399.000000C131.000000 -395.000000,125.000000 -388.000000,125.000000 -378.000000C125.000000 -367.000000,134.000000 -358.000000,144.000000 -358.000000C146.000000 -358.000000,150.000000 -359.000000,154.000000 -360.000000C232.000000 -384.000000,260.000000 -390.000000,296.000000 -390.000000C369.000000 -390.000000,419.000000 -357.000000,419.000000 -308.000000L419.000000 -237.000000C360.000000 -253.000000,329.000000 -258.000000,283.000000 -258.000000C158.000000 -258.000000,72.000000 -199.000000,72.000000 -112.000000C72.000000 -36.000000,135.000000 16.000000,228.000000 16.000000C298.000000 16.000000,358.000000 -10.000000,419.000000 -67.000000M419.000000 -112.000000C352.000000 -49.000000,298.000000 -25.000000,227.000000 -25.000000C158.000000 -25.000000,113.000000 -59.000000,113.000000 -111.000000C113.000000 -174.000000,185.000000 -217.000000,291.000000 -217.000000C335.000000 -217.000000,383.000000 -211.000000,419.000000 -202.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_109">
      <path style="fill-rule: evenodd;" d="M112.000000 -417.000000L38.000000 -417.000000C20.000000 -417.000000,11.000000 -410.000000,11.000000 -397.000000C11.000000 -383.000000,20.000000 -376.000000,38.000000 -376.000000L72.000000 -376.000000L72.000000 -41.000000L38.000000 -41.000000C20.000000 -41.000000,11.000000 -34.000000,11.000000 -21.000000C11.000000 -7.000000,20.000000 -0.000000,37.000000 -0.000000L146.000000 -0.000000C163.000000 -0.000000,173.000000 -7.000000,173.000000 -21.000000C173.000000 -34.000000,164.000000 -41.000000,146.000000 -41.000000L112.000000 -41.000000L112.000000 -308.000000C150.000000 -365.000000,182.000000 -390.000000,217.000000 -390.000000C251.000000 -390.000000,282.000000 -355.000000,282.000000 -316.000000L282.000000 -0.000000L356.000000 -0.000000C374.000000 -0.000000,383.000000 -7.000000,383.000000 -21.000000C383.000000 -34.000000,374.000000 -41.000000,356.000000 -41.000000L322.000000 -41.000000L322.000000 -308.000000C360.000000 -366.000000,390.000000 -390.000000,426.000000 -390.000000C461.000000 -390.000000,492.000000 -357.000000,492.000000 -319.000000L492.000000 -0.000000L566.000000 -0.000000C584.000000 -0.000000,593.000000 -7.000000,593.000000 -21.000000C593.000000 -34.000000,584.000000 -41.000000,566.000000 -41.000000L532.000000 -41.000000L532.000000 -323.000000C532.000000 -382.000000,485.000000 -431.000000,427.000000 -431.000000C386.000000 -431.000000,353.000000 -410.000000,314.000000 -360.000000C292.000000 -408.000000,260.000000 -431.000000,217.000000 -431.000000C175.000000 -431.000000,146.000000 -413.000000,112.000000 -365.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_111">
      <path style="fill-rule: evenodd;" d="M300.000000 -431.000000C173.000000 -431.000000,72.000000 -331.000000,72.000000 -208.000000C72.000000 -83.000000,173.000000 16.000000,300.000000 16.000000C426.000000 16.000000,528.000000 -83.000000,528.000000 -205.000000C528.000000 -332.000000,428.000000 -431.000000,300.000000 -431.000000M300.000000 -390.000000C405.000000 -390.000000,487.000000 -310.000000,487.000000 -205.000000C487.000000 -106.000000,403.000000 -25.000000,300.000000 -25.000000C196.000000 -25.000000,113.000000 -106.000000,113.000000 -208.000000C113.000000 -309.000000,196.000000 -390.000000,300.000000 -390.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_116">
      <path style="fill-rule: evenodd;" d="M186.000000 -417.000000L186.000000 -536.000000C186.000000 -555.000000,180.000000 -563.000000,166.000000 -563.000000C152.000000 -563.000000,145.000000 -554.000000,145.000000 -536.000000L145.000000 -417.000000L71.000000 -417.000000C52.000000 -417.000000,43.000000 -410.000000,43.000000 -397.000000C43.000000 -383.000000,52.000000 -376.000000,71.000000 -376.000000L145.000000 -376.000000L145.000000 -107.000000C145.000000 -32.000000,206.000000 16.000000,300.000000 16.000000C385.000000 16.000000,499.000000 -22.000000,499.000000 -51.000000C499.000000 -61.000000,490.000000 -71.000000,480.000000 -71.000000C475.000000 -71.000000,472.000000 -70.000000,464.000000 -65.000000C425.000000 -42.000000,354.000000 -25.000000,298.000000 -25.000000C229.000000 -25.000000,186.000000 -58.000000,186.000000 -109.000000L186.000000 -376.000000L406.000000 -376.000000C424.000000 -376.000000,433.000000 -383.000000,433.000000 -397.000000C433.000000 -410.000000,424.000000 -417.000000,406.000000 -417.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_120">
      <path style="fill-rule: evenodd;" d="M329.000000 -219.000000L492.000000 -376.000000L499.000000 -376.000000C517.000000 -376.000000,526.000000 -383.000000,526.000000 -397.000000C526.000000 -410.000000,517.000000 -417.000000,499.000000 -417.000000L389.000000 -417.000000C371.000000 -417.000000,362.000000 -410.000000,362.000000 -397.000000C362.000000 -383.000000,371.000000 -376.000000,389.000000 -376.000000L437.000000 -376.000000L300.000000 -246.000000L166.000000 -376.000000L212.000000 -376.000000C230.000000 -376.000000,239.000000 -383.000000,239.000000 -397.000000C239.000000 -411.000000,230.000000 -417.000000,212.000000 -417.000000L101.000000 -417.000000C83.000000 -417.000000,74.000000 -410.000000,74.000000 -397.000000C74.000000 -383.000000,83.000000 -376.000000,101.000000 -376.000000L108.000000 -376.000000L271.000000 -219.000000L87.000000 -41.000000L78.000000 -41.000000C60.000000 -41.000000,51.000000 -34.000000,51.000000 -21.000000C51.000000 -7.000000,60.000000 -0.000000,78.000000 -0.000000L211.000000 -0.000000C229.000000 -0.000000,238.000000 -7.000000,238.000000 -21.000000C238.000000 -34.000000,229.000000 -41.000000,211.000000 -41.000000L143.000000 -41.000000L300.000000 -190.000000L455.000000 -41.000000L390.000000 -41.000000C372.000000 -41.000000,363.000000 -34.000000,363.000000 -21.000000C363.000000 -7.000000,372.000000 -0.000000,390.000000 -0.000000L522.000000 -0.000000C540.000000 -0.000000,549.000000 -7.000000,549.000000 -21.000000C549.000000 -34.000000,540.000000 -41.000000,522.000000 -41.000000L513.000000 -41.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_121">
      <path style="fill-rule: evenodd;" d="M282.000000 -0.000000L211.000000 145.000000L84.000000 145.000000C66.000000 145.000000,57.000000 152.000000,57.000000 165.000000C57.000000 179.000000,66.000000 186.000000,84.000000 186.000000L317.000000 186.000000C335.000000 186.000000,344.000000 179.000000,344.000000 165.000000C344.000000 152.000000,335.000000 145.000000,317.000000 145.000000L252.000000 145.000000L508.000000 -376.000000L522.000000 -376.000000C540.000000 -376.000000,549.000000 -383.000000,549.000000 -397.000000C549.000000 -410.000000,540.000000 -417.000000,522.000000 -417.000000L412.000000 -417.000000C394.000000 -417.000000,385.000000 -410.000000,385.000000 -397.000000C385.000000 -383.000000,394.000000 -376.000000,412.000000 -376.000000L466.000000 -376.000000L305.000000 -45.000000L141.000000 -376.000000L193.000000 -376.000000C211.000000 -376.000000,220.000000 -383.000000,220.000000 -397.000000C220.000000 -410.000000,211.000000 -417.000000,193.000000 -417.000000L78.000000 -417.000000C60.000000 -417.000000,51.000000 -410.000000,51.000000 -397.000000C51.000000 -383.000000,60.000000 -376.000000,78.000000 -376.000000L94.000000 -376.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_49">
      <path style="fill-rule: evenodd;" d="M294.000000 -640.000000C294.000000 -664.000000,294.000000 -666.000000,271.000000 -666.000000C209.000000 -602.000000,121.000000 -602.000000,89.000000 -602.000000L89.000000 -571.000000C109.000000 -571.000000,168.000000 -571.000000,220.000000 -597.000000L220.000000 -79.000000C220.000000 -43.000000,217.000000 -31.000000,127.000000 -31.000000L95.000000 -31.000000L95.000000 -0.000000L257.000000 -0.000000L130.000000 -3.000000L217.000000 -3.000000L257.000000 -3.000000L297.000000 -3.000000L384.000000 -3.000000L419.000000 -0.000000L419.000000 -31.000000L387.000000 -31.000000C297.000000 -31.000000,294.000000 -42.000000,294.000000 -79.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_61">
      <path style="fill-rule: evenodd;" d="M687.000000 -327.000000C702.000000 -327.000000,721.000000 -327.000000,721.000000 -347.000000C721.000000 -367.000000,702.000000 -367.000000,688.000000 -367.000000L89.000000 -367.000000C75.000000 -367.000000,56.000000 -367.000000,56.000000 -347.000000C56.000000 -327.000000,75.000000 -327.000000,90.000000 -327.000000M688.000000 -133.000000C702.000000 -133.000000,721.000000 -133.000000,721.000000 -153.000000C721.000000 -173.000000,702.000000 -173.000000,687.000000 -173.000000L90.000000 -173.000000C75.000000 -173.000000,56.000000 -173.000000,56.000000 -153.000000C56.000000 -133.000000,75.000000 -133.000000,89.000000 -133.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_1">
      <path style="fill-rule: evenodd;" d="M192.000000 -250.000000C192.000000 -279.000000,168.000000 -303.000000,139.000000 -303.000000C110.000000 -303.000000,86.000000 -279.000000,86.000000 -250.000000C86.000000 -221.000000,110.000000 -197.000000,139.000000 -197.000000C168.000000 -197.000000,192.000000 -221.000000,192.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_48">
      <path style="fill-rule: evenodd;" d="M374.000000 1770.000000C396.000000 1770.000000,402.000000 1770.000000,402.000000 1756.000000C404.000000 1055.000000,485.000000 473.000000,835.000000 -16.000000C842.000000 -25.000000,842.000000 -27.000000,842.000000 -29.000000C842.000000 -39.000000,835.000000 -39.000000,819.000000 -39.000000C803.000000 -39.000000,801.000000 -39.000000,799.000000 -37.000000C795.000000 -34.000000,668.000000 112.000000,567.000000 313.000000C435.000000 577.000000,352.000000 880.000000,315.000000 1244.000000C312.000000 1275.000000,291.000000 1483.000000,291.000000 1720.000000L291.000000 1759.000000C292.000000 1770.000000,298.000000 1770.000000,319.000000 1770.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_49">
      <path style="fill-rule: evenodd;" d="M583.000000 1720.000000C583.000000 1109.000000,474.000000 751.000000,443.000000 650.000000C375.000000 428.000000,264.000000 194.000000,97.000000 -12.000000C82.000000 -30.000000,78.000000 -35.000000,74.000000 -37.000000C72.000000 -38.000000,71.000000 -39.000000,55.000000 -39.000000C40.000000 -39.000000,32.000000 -39.000000,32.000000 -29.000000C32.000000 -27.000000,32.000000 -25.000000,45.000000 -7.000000C393.000000 479.000000,471.000000 1079.000000,472.000000 1756.000000C472.000000 1770.000000,478.000000 1770.000000,500.000000 1770.000000L555.000000 1770.000000C576.000000 1770.000000,582.000000 1770.000000,583.000000 1759.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_64">
      <path style="fill-rule: evenodd;" d="M319.000000 -50.000000C298.000000 -50.000000,292.000000 -50.000000,291.000000 -39.000000L291.000000 -0.000000C291.000000 611.000000,400.000000 969.000000,431.000000 1070.000000C499.000000 1292.000000,610.000000 1526.000000,777.000000 1732.000000C792.000000 1750.000000,796.000000 1755.000000,800.000000 1757.000000C802.000000 1758.000000,803.000000 1759.000000,819.000000 1759.000000C835.000000 1759.000000,842.000000 1759.000000,842.000000 1749.000000C842.000000 1747.000000,842.000000 1745.000000,836.000000 1736.000000C503.000000 1274.000000,403.000000 718.000000,402.000000 -36.000000C402.000000 -50.000000,396.000000 -50.000000,374.000000 -50.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_65">
      <path style="fill-rule: evenodd;" d="M583.000000 -39.000000C582.000000 -50.000000,576.000000 -50.000000,555.000000 -50.000000L500.000000 -50.000000C478.000000 -50.000000,472.000000 -50.000000,472.000000 -36.000000C472.000000 67.000000,471.000000 305.000000,445.000000 554.000000C391.000000 1071.000000,258.000000 1429.000000,39.000000 1736.000000C32.000000 1745.000000,32.000000 1747.000000,32.000000 1749.000000C32.000000 1759.000000,40.000000 1759.000000,55.000000 1759.000000C71.000000 1759.000000,73.000000 1759.000000,75.000000 1757.000000C79.000000 1754.000000,206.000000 1608.000000,307.000000 1407.000000C439.000000 1143.000000,522.000000 840.000000,559.000000 476.000000C562.000000 445.000000,583.000000 237.000000,583.000000 -0.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.396271 0.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.396271 29.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_64"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,22.314102 13.697296)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_81"></use>
    <use xlink:href="#GLYPHpcrr8r_120" x="6.000092"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,22.314102 32.825531)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_81"></use>
    <use xlink:href="#GLYPHpcrr8r_121" x="6.000092"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,27.893326 51.953918)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,49.412613 0.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,49.412613 29.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_65"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,67.788208 32.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_61"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,84.614029 32.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_72"></use>
    <use xlink:href="#GLYPHpcrr8r_111" x="6.000092"></use>
    <use xlink:href="#GLYPHpcrr8r_109" x="12.000185"></use>
    <use xlink:href="#GLYPHpcrr8r_77" x="18.000277"></use>
    <use xlink:href="#GLYPHpcrr8r_97" x="24.000369"></use>
    <use xlink:href="#GLYPHpcrr8r_116" x="30.000462"></use>
    <use xlink:href="#GLYPHpcrr8r_50" x="36.000554"></use>
    <use xlink:href="#GLYPHpcrr8r_68" x="42.000646"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,164.669525 32.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,172.639648 0.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,172.639648 29.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_64"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,194.557480 13.697296)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_80"></use>
    <use xlink:href="#GLYPHpcrr8r_120" x="6.000092"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,194.557480 32.825531)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_80"></use>
    <use xlink:href="#GLYPHpcrr8r_121" x="6.000092"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,200.136566 51.953918)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,221.656006 0.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,221.656006 29.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_65"></use>
  </g>
</svg></span>
</p>
<p>If the points to transform are specified in standard image coordinates, their
<em>row</em> coordinates must be passed in <a href="#Px"><i><code><span data-if="hdevelop" style="display:inline">Px</span><span data-if="c" style="display:none">Px</span><span data-if="cpp" style="display:none">Px</span><span data-if="com" style="display:none">Px</span><span data-if="dotnet" style="display:none">px</span><span data-if="python" style="display:none">px</span></code></i></a> and their <em>column</em>
coordinates in <a href="#Py"><i><code><span data-if="hdevelop" style="display:inline">Py</span><span data-if="c" style="display:none">Py</span><span data-if="cpp" style="display:none">Py</span><span data-if="com" style="display:none">Py</span><span data-if="dotnet" style="display:none">py</span><span data-if="python" style="display:none">py</span></code></i></a>. This is necessary to obtain a right-handed
coordinate system for the image.  In particular, this assures that rotations
are performed in the correct direction.  Note that the (x,y) order of the
matrices quite naturally corresponds to the usual (row,column) order for
coordinates in the image.
</p>
<p>The transformation matrix can be created using 该算子s
<a href="hom_mat2d_identity.html"><code><span data-if="hdevelop" style="display:inline">hom_mat2d_identity</span><span data-if="c" style="display:none">hom_mat2d_identity</span><span data-if="cpp" style="display:none">HomMat2dIdentity</span><span data-if="com" style="display:none">HomMat2dIdentity</span><span data-if="dotnet" style="display:none">HomMat2dIdentity</span><span data-if="python" style="display:none">hom_mat2d_identity</span></code></a>, <a href="hom_mat2d_rotate.html"><code><span data-if="hdevelop" style="display:inline">hom_mat2d_rotate</span><span data-if="c" style="display:none">hom_mat2d_rotate</span><span data-if="cpp" style="display:none">HomMat2dRotate</span><span data-if="com" style="display:none">HomMat2dRotate</span><span data-if="dotnet" style="display:none">HomMat2dRotate</span><span data-if="python" style="display:none">hom_mat2d_rotate</span></code></a>,
<a href="hom_mat2d_translate.html"><code><span data-if="hdevelop" style="display:inline">hom_mat2d_translate</span><span data-if="c" style="display:none">hom_mat2d_translate</span><span data-if="cpp" style="display:none">HomMat2dTranslate</span><span data-if="com" style="display:none">HomMat2dTranslate</span><span data-if="dotnet" style="display:none">HomMat2dTranslate</span><span data-if="python" style="display:none">hom_mat2d_translate</span></code></a>, etc., or can be the result of operators like
<a href="vector_angle_to_rigid.html"><code><span data-if="hdevelop" style="display:inline">vector_angle_to_rigid</span><span data-if="c" style="display:none">vector_angle_to_rigid</span><span data-if="cpp" style="display:none">VectorAngleToRigid</span><span data-if="com" style="display:none">VectorAngleToRigid</span><span data-if="dotnet" style="display:none">VectorAngleToRigid</span><span data-if="python" style="display:none">vector_angle_to_rigid</span></code></a>.
</p>
<p>For example, if <a href="#HomMat2D"><i><code><span data-if="hdevelop" style="display:inline">HomMat2D</span><span data-if="c" style="display:none">HomMat2D</span><span data-if="cpp" style="display:none">HomMat2D</span><span data-if="com" style="display:none">HomMat2D</span><span data-if="dotnet" style="display:none">homMat2D</span><span data-if="python" style="display:none">hom_mat_2d</span></code></i></a> corresponds to a rigid transformation,
i.e., if it consists of a rotation and a translation, the
points are transformed as follows:
</p>
<p><span title="2" class="displaymath"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="27.2967em" height="3.7116em" viewBox="0 0 436.747726 59.385666">
<!-- Original BoundingBox: -218.373871 -29.692825 218.373856 29.692841 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_80">
      <path style="fill-rule: evenodd;" d="M165.000000 -231.000000L296.000000 -231.000000C410.000000 -231.000000,499.000000 -305.000000,499.000000 -398.000000C499.000000 -491.000000,416.000000 -563.000000,310.000000 -563.000000L70.000000 -563.000000C52.000000 -563.000000,43.000000 -556.000000,43.000000 -543.000000C43.000000 -529.000000,52.000000 -522.000000,70.000000 -522.000000L124.000000 -522.000000L124.000000 -41.000000L70.000000 -41.000000C52.000000 -41.000000,43.000000 -34.000000,43.000000 -21.000000C43.000000 -7.000000,52.000000 -0.000000,70.000000 -0.000000L303.000000 -0.000000C321.000000 -0.000000,331.000000 -7.000000,331.000000 -21.000000C331.000000 -34.000000,322.000000 -41.000000,303.000000 -41.000000L165.000000 -41.000000M165.000000 -272.000000L165.000000 -522.000000L314.000000 -522.000000C393.000000 -522.000000,458.000000 -466.000000,458.000000 -398.000000C458.000000 -329.000000,386.000000 -272.000000,299.000000 -272.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_81">
      <path style="fill-rule: evenodd;" d="M305.000000 16.000000C443.000000 12.000000,549.000000 -116.000000,549.000000 -280.000000C549.000000 -445.000000,439.000000 -576.000000,300.000000 -576.000000C161.000000 -576.000000,51.000000 -445.000000,51.000000 -280.000000C51.000000 -139.000000,135.000000 -15.000000,249.000000 10.000000L159.000000 75.000000C152.000000 80.000000,148.000000 86.000000,148.000000 93.000000C148.000000 105.000000,157.000000 114.000000,168.000000 114.000000C171.000000 114.000000,174.000000 113.000000,178.000000 112.000000C221.000000 100.000000,288.000000 89.000000,318.000000 89.000000C343.000000 89.000000,359.000000 92.000000,386.000000 102.000000C415.000000 112.000000,426.000000 115.000000,442.000000 115.000000C484.000000 115.000000,546.000000 84.000000,546.000000 64.000000C546.000000 52.000000,537.000000 43.000000,526.000000 43.000000C522.000000 43.000000,518.000000 44.000000,514.000000 47.000000C483.000000 67.000000,466.000000 74.000000,445.000000 74.000000C432.000000 74.000000,424.000000 72.000000,400.000000 63.000000C370.000000 52.000000,347.000000 48.000000,318.000000 48.000000C297.000000 48.000000,281.000000 50.000000,251.000000 56.000000M300.000000 -535.000000C416.000000 -535.000000,508.000000 -421.000000,508.000000 -277.000000C508.000000 -140.000000,413.000000 -25.000000,300.000000 -25.000000C186.000000 -25.000000,92.000000 -140.000000,92.000000 -280.000000C92.000000 -420.000000,185.000000 -535.000000,300.000000 -535.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_120">
      <path style="fill-rule: evenodd;" d="M329.000000 -219.000000L492.000000 -376.000000L499.000000 -376.000000C517.000000 -376.000000,526.000000 -383.000000,526.000000 -397.000000C526.000000 -410.000000,517.000000 -417.000000,499.000000 -417.000000L389.000000 -417.000000C371.000000 -417.000000,362.000000 -410.000000,362.000000 -397.000000C362.000000 -383.000000,371.000000 -376.000000,389.000000 -376.000000L437.000000 -376.000000L300.000000 -246.000000L166.000000 -376.000000L212.000000 -376.000000C230.000000 -376.000000,239.000000 -383.000000,239.000000 -397.000000C239.000000 -411.000000,230.000000 -417.000000,212.000000 -417.000000L101.000000 -417.000000C83.000000 -417.000000,74.000000 -410.000000,74.000000 -397.000000C74.000000 -383.000000,83.000000 -376.000000,101.000000 -376.000000L108.000000 -376.000000L271.000000 -219.000000L87.000000 -41.000000L78.000000 -41.000000C60.000000 -41.000000,51.000000 -34.000000,51.000000 -21.000000C51.000000 -7.000000,60.000000 -0.000000,78.000000 -0.000000L211.000000 -0.000000C229.000000 -0.000000,238.000000 -7.000000,238.000000 -21.000000C238.000000 -34.000000,229.000000 -41.000000,211.000000 -41.000000L143.000000 -41.000000L300.000000 -190.000000L455.000000 -41.000000L390.000000 -41.000000C372.000000 -41.000000,363.000000 -34.000000,363.000000 -21.000000C363.000000 -7.000000,372.000000 -0.000000,390.000000 -0.000000L522.000000 -0.000000C540.000000 -0.000000,549.000000 -7.000000,549.000000 -21.000000C549.000000 -34.000000,540.000000 -41.000000,522.000000 -41.000000L513.000000 -41.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_121">
      <path style="fill-rule: evenodd;" d="M282.000000 -0.000000L211.000000 145.000000L84.000000 145.000000C66.000000 145.000000,57.000000 152.000000,57.000000 165.000000C57.000000 179.000000,66.000000 186.000000,84.000000 186.000000L317.000000 186.000000C335.000000 186.000000,344.000000 179.000000,344.000000 165.000000C344.000000 152.000000,335.000000 145.000000,317.000000 145.000000L252.000000 145.000000L508.000000 -376.000000L522.000000 -376.000000C540.000000 -376.000000,549.000000 -383.000000,549.000000 -397.000000C549.000000 -410.000000,540.000000 -417.000000,522.000000 -417.000000L412.000000 -417.000000C394.000000 -417.000000,385.000000 -410.000000,385.000000 -397.000000C385.000000 -383.000000,394.000000 -376.000000,412.000000 -376.000000L466.000000 -376.000000L305.000000 -45.000000L141.000000 -376.000000L193.000000 -376.000000C211.000000 -376.000000,220.000000 -383.000000,220.000000 -397.000000C220.000000 -410.000000,211.000000 -417.000000,193.000000 -417.000000L78.000000 -417.000000C60.000000 -417.000000,51.000000 -410.000000,51.000000 -397.000000C51.000000 -383.000000,60.000000 -376.000000,78.000000 -376.000000L94.000000 -376.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_43">
      <path style="fill-rule: evenodd;" d="M409.000000 -230.000000L688.000000 -230.000000C702.000000 -230.000000,721.000000 -230.000000,721.000000 -250.000000C721.000000 -270.000000,702.000000 -270.000000,688.000000 -270.000000L409.000000 -270.000000L409.000000 -550.000000C409.000000 -564.000000,409.000000 -583.000000,389.000000 -583.000000C369.000000 -583.000000,369.000000 -564.000000,369.000000 -550.000000L369.000000 -270.000000L89.000000 -270.000000C75.000000 -270.000000,56.000000 -270.000000,56.000000 -250.000000C56.000000 -230.000000,75.000000 -230.000000,89.000000 -230.000000L369.000000 -230.000000L369.000000 50.000000C369.000000 64.000000,369.000000 83.000000,389.000000 83.000000C409.000000 83.000000,409.000000 64.000000,409.000000 50.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_48">
      <path style="fill-rule: evenodd;" d="M460.000000 -320.000000C460.000000 -400.000000,455.000000 -480.000000,420.000000 -554.000000C374.000000 -650.000000,292.000000 -666.000000,250.000000 -666.000000C190.000000 -666.000000,117.000000 -640.000000,76.000000 -547.000000C44.000000 -478.000000,39.000000 -400.000000,39.000000 -320.000000C39.000000 -245.000000,43.000000 -155.000000,84.000000 -79.000000C127.000000 2.000000,200.000000 22.000000,249.000000 22.000000C303.000000 22.000000,379.000000 1.000000,423.000000 -94.000000C455.000000 -163.000000,460.000000 -241.000000,460.000000 -320.000000M249.000000 -0.000000C210.000000 -0.000000,151.000000 -25.000000,133.000000 -121.000000C122.000000 -181.000000,122.000000 -273.000000,122.000000 -332.000000C122.000000 -396.000000,122.000000 -462.000000,130.000000 -516.000000C149.000000 -635.000000,224.000000 -644.000000,249.000000 -644.000000C282.000000 -644.000000,348.000000 -626.000000,367.000000 -527.000000C377.000000 -471.000000,377.000000 -395.000000,377.000000 -332.000000C377.000000 -257.000000,377.000000 -189.000000,366.000000 -125.000000C351.000000 -30.000000,294.000000 -0.000000,249.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_49">
      <path style="fill-rule: evenodd;" d="M294.000000 -640.000000C294.000000 -664.000000,294.000000 -666.000000,271.000000 -666.000000C209.000000 -602.000000,121.000000 -602.000000,89.000000 -602.000000L89.000000 -571.000000C109.000000 -571.000000,168.000000 -571.000000,220.000000 -597.000000L220.000000 -79.000000C220.000000 -43.000000,217.000000 -31.000000,127.000000 -31.000000L95.000000 -31.000000L95.000000 -0.000000L257.000000 -0.000000L130.000000 -3.000000L217.000000 -3.000000L257.000000 -3.000000L297.000000 -3.000000L384.000000 -3.000000L419.000000 -0.000000L419.000000 -31.000000L387.000000 -31.000000C297.000000 -31.000000,294.000000 -42.000000,294.000000 -79.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_61">
      <path style="fill-rule: evenodd;" d="M687.000000 -327.000000C702.000000 -327.000000,721.000000 -327.000000,721.000000 -347.000000C721.000000 -367.000000,702.000000 -367.000000,688.000000 -367.000000L89.000000 -367.000000C75.000000 -367.000000,56.000000 -367.000000,56.000000 -347.000000C56.000000 -327.000000,75.000000 -327.000000,90.000000 -327.000000M688.000000 -133.000000C702.000000 -133.000000,721.000000 -133.000000,721.000000 -153.000000C721.000000 -173.000000,702.000000 -173.000000,687.000000 -173.000000L90.000000 -173.000000C75.000000 -173.000000,56.000000 -173.000000,56.000000 -153.000000C56.000000 -133.000000,75.000000 -133.000000,89.000000 -133.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_1">
      <path style="fill-rule: evenodd;" d="M192.000000 -250.000000C192.000000 -279.000000,168.000000 -303.000000,139.000000 -303.000000C110.000000 -303.000000,86.000000 -279.000000,86.000000 -250.000000C86.000000 -221.000000,110.000000 -197.000000,139.000000 -197.000000C168.000000 -197.000000,192.000000 -221.000000,192.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_18">
      <path style="fill-rule: evenodd;" d="M700.000000 2349.000000C700.000000 2345.000000,698.000000 2343.000000,696.000000 2340.000000C659.000000 2303.000000,592.000000 2236.000000,525.000000 2128.000000C364.000000 1870.000000,291.000000 1545.000000,291.000000 1160.000000C291.000000 891.000000,327.000000 544.000000,492.000000 246.000000C571.000000 104.000000,653.000000 22.000000,697.000000 -22.000000C700.000000 -25.000000,700.000000 -27.000000,700.000000 -30.000000C700.000000 -40.000000,693.000000 -40.000000,679.000000 -40.000000C665.000000 -40.000000,663.000000 -40.000000,648.000000 -25.000000C313.000000 280.000000,208.000000 738.000000,208.000000 1159.000000C208.000000 1552.000000,298.000000 1948.000000,552.000000 2247.000000C572.000000 2270.000000,610.000000 2311.000000,651.000000 2347.000000C663.000000 2359.000000,665.000000 2359.000000,679.000000 2359.000000C693.000000 2359.000000,700.000000 2359.000000,700.000000 2349.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_19">
      <path style="fill-rule: evenodd;" d="M527.000000 1160.000000C527.000000 767.000000,437.000000 371.000000,183.000000 72.000000C163.000000 49.000000,125.000000 8.000000,84.000000 -28.000000C72.000000 -40.000000,70.000000 -40.000000,56.000000 -40.000000C44.000000 -40.000000,35.000000 -40.000000,35.000000 -30.000000C35.000000 -26.000000,39.000000 -22.000000,41.000000 -20.000000C76.000000 16.000000,143.000000 83.000000,210.000000 191.000000C371.000000 449.000000,444.000000 774.000000,444.000000 1159.000000C444.000000 1428.000000,408.000000 1775.000000,243.000000 2073.000000C164.000000 2215.000000,81.000000 2298.000000,39.000000 2340.000000C37.000000 2343.000000,35.000000 2346.000000,35.000000 2349.000000C35.000000 2359.000000,44.000000 2359.000000,56.000000 2359.000000C70.000000 2359.000000,72.000000 2359.000000,87.000000 2344.000000C422.000000 2039.000000,527.000000 1581.000000,527.000000 1160.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_20">
      <path style="fill-rule: evenodd;" d="M250.000000 2359.000000L513.000000 2359.000000L513.000000 2304.000000L305.000000 2304.000000L305.000000 15.000000L513.000000 15.000000L513.000000 -40.000000L250.000000 -40.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_21">
      <path style="fill-rule: evenodd;" d="M222.000000 2304.000000L14.000000 2304.000000L14.000000 2359.000000L277.000000 2359.000000L277.000000 -40.000000L14.000000 -40.000000L14.000000 15.000000L222.000000 15.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_48">
      <path style="fill-rule: evenodd;" d="M374.000000 1770.000000C396.000000 1770.000000,402.000000 1770.000000,402.000000 1756.000000C404.000000 1055.000000,485.000000 473.000000,835.000000 -16.000000C842.000000 -25.000000,842.000000 -27.000000,842.000000 -29.000000C842.000000 -39.000000,835.000000 -39.000000,819.000000 -39.000000C803.000000 -39.000000,801.000000 -39.000000,799.000000 -37.000000C795.000000 -34.000000,668.000000 112.000000,567.000000 313.000000C435.000000 577.000000,352.000000 880.000000,315.000000 1244.000000C312.000000 1275.000000,291.000000 1483.000000,291.000000 1720.000000L291.000000 1759.000000C292.000000 1770.000000,298.000000 1770.000000,319.000000 1770.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_49">
      <path style="fill-rule: evenodd;" d="M583.000000 1720.000000C583.000000 1109.000000,474.000000 751.000000,443.000000 650.000000C375.000000 428.000000,264.000000 194.000000,97.000000 -12.000000C82.000000 -30.000000,78.000000 -35.000000,74.000000 -37.000000C72.000000 -38.000000,71.000000 -39.000000,55.000000 -39.000000C40.000000 -39.000000,32.000000 -39.000000,32.000000 -29.000000C32.000000 -27.000000,32.000000 -25.000000,45.000000 -7.000000C393.000000 479.000000,471.000000 1079.000000,472.000000 1756.000000C472.000000 1770.000000,478.000000 1770.000000,500.000000 1770.000000L555.000000 1770.000000C576.000000 1770.000000,582.000000 1770.000000,583.000000 1759.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_64">
      <path style="fill-rule: evenodd;" d="M319.000000 -50.000000C298.000000 -50.000000,292.000000 -50.000000,291.000000 -39.000000L291.000000 -0.000000C291.000000 611.000000,400.000000 969.000000,431.000000 1070.000000C499.000000 1292.000000,610.000000 1526.000000,777.000000 1732.000000C792.000000 1750.000000,796.000000 1755.000000,800.000000 1757.000000C802.000000 1758.000000,803.000000 1759.000000,819.000000 1759.000000C835.000000 1759.000000,842.000000 1759.000000,842.000000 1749.000000C842.000000 1747.000000,842.000000 1745.000000,836.000000 1736.000000C503.000000 1274.000000,403.000000 718.000000,402.000000 -36.000000C402.000000 -50.000000,396.000000 -50.000000,374.000000 -50.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_65">
      <path style="fill-rule: evenodd;" d="M583.000000 -39.000000C582.000000 -50.000000,576.000000 -50.000000,555.000000 -50.000000L500.000000 -50.000000C478.000000 -50.000000,472.000000 -50.000000,472.000000 -36.000000C472.000000 67.000000,471.000000 305.000000,445.000000 554.000000C391.000000 1071.000000,258.000000 1429.000000,39.000000 1736.000000C32.000000 1745.000000,32.000000 1747.000000,32.000000 1749.000000C32.000000 1759.000000,40.000000 1759.000000,55.000000 1759.000000C71.000000 1759.000000,73.000000 1759.000000,75.000000 1757.000000C79.000000 1754.000000,206.000000 1608.000000,307.000000 1407.000000C439.000000 1143.000000,522.000000 840.000000,559.000000 476.000000C562.000000 445.000000,583.000000 237.000000,583.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmbx10_82">
      <path style="fill-rule: evenodd;" d="M283.000000 -361.000000L283.000000 -639.000000L401.000000 -639.000000C562.000000 -639.000000,564.000000 -561.000000,564.000000 -500.000000C564.000000 -444.000000,564.000000 -361.000000,399.000000 -361.000000M550.000000 -340.000000C666.000000 -370.000000,717.000000 -435.000000,717.000000 -501.000000C717.000000 -602.000000,607.000000 -686.000000,419.000000 -686.000000L39.000000 -686.000000L39.000000 -639.000000L147.000000 -639.000000L147.000000 -47.000000L39.000000 -47.000000L39.000000 -0.000000L215.000000 -0.000000L75.000000 -3.000000L173.000000 -3.000000L215.000000 -3.000000L257.000000 -3.000000L355.000000 -3.000000L391.000000 -0.000000L391.000000 -47.000000L283.000000 -47.000000L283.000000 -325.000000L400.000000 -325.000000C414.000000 -325.000000,458.000000 -325.000000,489.000000 -291.000000C521.000000 -256.000000,521.000000 -237.000000,521.000000 -164.000000C521.000000 -98.000000,521.000000 -49.000000,591.000000 -15.000000C635.000000 7.000000,697.000000 11.000000,738.000000 11.000000C845.000000 11.000000,858.000000 -79.000000,858.000000 -95.000000C858.000000 -117.000000,844.000000 -117.000000,834.000000 -117.000000C813.000000 -117.000000,812.000000 -107.000000,811.000000 -94.000000C806.000000 -47.000000,777.000000 -25.000000,747.000000 -25.000000C687.000000 -25.000000,678.000000 -96.000000,673.000000 -138.000000C671.000000 -149.000000,663.000000 -218.000000,662.000000 -223.000000C648.000000 -293.000000,593.000000 -324.000000,550.000000 -340.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmbx10_84">
      <path style="fill-rule: evenodd;" d="M736.000000 -675.000000L63.000000 -675.000000L42.000000 -434.000000L89.000000 -434.000000C98.000000 -547.000000,108.000000 -628.000000,252.000000 -628.000000L329.000000 -628.000000L329.000000 -47.000000L176.000000 -47.000000L176.000000 -0.000000L400.000000 -0.000000L230.000000 -3.000000L341.000000 -3.000000L400.000000 -3.000000L459.000000 -3.000000L570.000000 -3.000000L624.000000 -0.000000L624.000000 -47.000000L471.000000 -47.000000L471.000000 -628.000000L547.000000 -628.000000C690.000000 -628.000000,700.000000 -548.000000,710.000000 -434.000000L757.000000 -434.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.626129 0.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.626129 29.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_64"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,22.543961 13.697296)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_81"></use>
    <use xlink:href="#GLYPHpcrr8r_120" x="6.000092"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,22.543961 32.825531)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_81"></use>
    <use xlink:href="#GLYPHpcrr8r_121" x="6.000092"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,28.123184 51.953918)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,49.642471 0.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,49.642471 29.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_65"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,71.560318 32.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_61"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,91.928238 10.508957)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_20"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,111.178375 22.066284)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmbx10_82"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,145.327805 22.066284)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmbx10_84"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,108.311325 43.584915)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,119.823700 43.584915)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,147.718857 43.584915)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,166.050125 10.508957)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_21"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,178.005371 32.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,185.975464 0.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,185.975464 29.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_64"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,207.893326 13.697296)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_80"></use>
    <use xlink:href="#GLYPHpcrr8r_120" x="6.000092"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,207.893326 32.825531)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_80"></use>
    <use xlink:href="#GLYPHpcrr8r_121" x="6.000092"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,213.472382 51.953918)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,234.991821 0.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,234.991821 29.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_65"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,256.909500 32.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_61"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,277.277573 0.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,277.277573 29.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_64"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,299.195435 23.420853)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmbx10_82"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,315.600449 23.420853)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,322.684952 0.944931)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_18"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,342.389023 13.697296)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_80"></use>
    <use xlink:href="#GLYPHpcrr8r_120" x="6.000092"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,342.389023 32.825531)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_80"></use>
    <use xlink:href="#GLYPHpcrr8r_121" x="6.000092"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,369.487549 0.944931)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_19"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,384.763611 23.420853)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_43"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,400.703827 23.420853)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmbx10_84"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,352.340576 51.954086)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,421.426117 0.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,421.426117 29.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_65"></use>
  </g>
</svg></span>
</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  
    <li>Automatically parallelized on internal data level.</li>
  
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="HomMat2D" class="parname"><b><code><span data-if="hdevelop" style="display:inline">HomMat2D</span><span data-if="c" style="display:none">HomMat2D</span><span data-if="cpp" style="display:none">HomMat2D</span><span data-if="com" style="display:none">HomMat2D</span><span data-if="dotnet" style="display:none">homMat2D</span><span data-if="python" style="display:none">hom_mat_2d</span></code></b> (input_control)  </span><span>hom_mat2d <code>→</code> <span data-if="dotnet" style="display:none"><a href="HHomMat2D.html">HHomMat2D</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Input transformation matrix.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Px" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Px</span><span data-if="c" style="display:none">Px</span><span data-if="cpp" style="display:none">Px</span><span data-if="com" style="display:none">Px</span><span data-if="dotnet" style="display:none">px</span><span data-if="python" style="display:none">px</span></code></b> (input_control)  </span><span>point.x(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[float, int]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Input point(s) (x or row coordinate).</p>
<p class="pardesc"><span class="parcat">Default:
      </span>64</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>0, 16, 32, 64, 128, 256, 512, 1024</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Py" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Py</span><span data-if="c" style="display:none">Py</span><span data-if="cpp" style="display:none">Py</span><span data-if="com" style="display:none">Py</span><span data-if="dotnet" style="display:none">py</span><span data-if="python" style="display:none">py</span></code></b> (input_control)  </span><span>point.y(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[float, int]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Input point(s) (y or column coordinate).</p>
<p class="pardesc"><span class="parcat">Default:
      </span>64</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>0, 16, 32, 64, 128, 256, 512, 1024</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Qx" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Qx</span><span data-if="c" style="display:none">Qx</span><span data-if="cpp" style="display:none">Qx</span><span data-if="com" style="display:none">Qx</span><span data-if="dotnet" style="display:none">qx</span><span data-if="python" style="display:none">qx</span></code></b> (output_control)  </span><span>point.x(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Output point(s) (x or row coordinate).</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Qy" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Qy</span><span data-if="c" style="display:none">Qy</span><span data-if="cpp" style="display:none">Qy</span><span data-if="com" style="display:none">Qy</span><span data-if="dotnet" style="display:none">qy</span><span data-if="python" style="display:none">qy</span></code></b> (output_control)  </span><span>point.y(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Output point(s) (y or column coordinate).</p>
</div>
<h2 id="sec_result">结果</h2>
<p>If the matrix <a href="#HomMat2D"><i><code><span data-if="hdevelop" style="display:inline">HomMat2D</span><span data-if="c" style="display:none">HomMat2D</span><span data-if="cpp" style="display:none">HomMat2D</span><span data-if="com" style="display:none">HomMat2D</span><span data-if="dotnet" style="display:none">homMat2D</span><span data-if="python" style="display:none">hom_mat_2d</span></code></i></a> represents an affine transformation
(i.e., not a projective transformation),
<code><span data-if="hdevelop" style="display:inline">affine_trans_point_2d</span><span data-if="c" style="display:none">affine_trans_point_2d</span><span data-if="cpp" style="display:none">AffineTransPoint2d</span><span data-if="com" style="display:none">AffineTransPoint2d</span><span data-if="dotnet" style="display:none">AffineTransPoint2d</span><span data-if="python" style="display:none">affine_trans_point_2d</span></code> returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
    .  Otherwise, an exception
is raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="hom_mat2d_translate.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_translate</span><span data-if="c" style="display:none">hom_mat2d_translate</span><span data-if="cpp" style="display:none">HomMat2dTranslate</span><span data-if="com" style="display:none">HomMat2dTranslate</span><span data-if="dotnet" style="display:none">HomMat2dTranslate</span><span data-if="python" style="display:none">hom_mat2d_translate</span></a></code>, 
<code><a href="hom_mat2d_translate_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_translate_local</span><span data-if="c" style="display:none">hom_mat2d_translate_local</span><span data-if="cpp" style="display:none">HomMat2dTranslateLocal</span><span data-if="com" style="display:none">HomMat2dTranslateLocal</span><span data-if="dotnet" style="display:none">HomMat2dTranslateLocal</span><span data-if="python" style="display:none">hom_mat2d_translate_local</span></a></code>, 
<code><a href="hom_mat2d_scale.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_scale</span><span data-if="c" style="display:none">hom_mat2d_scale</span><span data-if="cpp" style="display:none">HomMat2dScale</span><span data-if="com" style="display:none">HomMat2dScale</span><span data-if="dotnet" style="display:none">HomMat2dScale</span><span data-if="python" style="display:none">hom_mat2d_scale</span></a></code>, 
<code><a href="hom_mat2d_scale_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_scale_local</span><span data-if="c" style="display:none">hom_mat2d_scale_local</span><span data-if="cpp" style="display:none">HomMat2dScaleLocal</span><span data-if="com" style="display:none">HomMat2dScaleLocal</span><span data-if="dotnet" style="display:none">HomMat2dScaleLocal</span><span data-if="python" style="display:none">hom_mat2d_scale_local</span></a></code>, 
<code><a href="hom_mat2d_rotate.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_rotate</span><span data-if="c" style="display:none">hom_mat2d_rotate</span><span data-if="cpp" style="display:none">HomMat2dRotate</span><span data-if="com" style="display:none">HomMat2dRotate</span><span data-if="dotnet" style="display:none">HomMat2dRotate</span><span data-if="python" style="display:none">hom_mat2d_rotate</span></a></code>, 
<code><a href="hom_mat2d_rotate_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_rotate_local</span><span data-if="c" style="display:none">hom_mat2d_rotate_local</span><span data-if="cpp" style="display:none">HomMat2dRotateLocal</span><span data-if="com" style="display:none">HomMat2dRotateLocal</span><span data-if="dotnet" style="display:none">HomMat2dRotateLocal</span><span data-if="python" style="display:none">hom_mat2d_rotate_local</span></a></code>, 
<code><a href="hom_mat2d_slant.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_slant</span><span data-if="c" style="display:none">hom_mat2d_slant</span><span data-if="cpp" style="display:none">HomMat2dSlant</span><span data-if="com" style="display:none">HomMat2dSlant</span><span data-if="dotnet" style="display:none">HomMat2dSlant</span><span data-if="python" style="display:none">hom_mat2d_slant</span></a></code>, 
<code><a href="hom_mat2d_slant_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_slant_local</span><span data-if="c" style="display:none">hom_mat2d_slant_local</span><span data-if="cpp" style="display:none">HomMat2dSlantLocal</span><span data-if="com" style="display:none">HomMat2dSlantLocal</span><span data-if="dotnet" style="display:none">HomMat2dSlantLocal</span><span data-if="python" style="display:none">hom_mat2d_slant_local</span></a></code>, 
<code><a href="hom_mat2d_reflect.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_reflect</span><span data-if="c" style="display:none">hom_mat2d_reflect</span><span data-if="cpp" style="display:none">HomMat2dReflect</span><span data-if="com" style="display:none">HomMat2dReflect</span><span data-if="dotnet" style="display:none">HomMat2dReflect</span><span data-if="python" style="display:none">hom_mat2d_reflect</span></a></code>, 
<code><a href="hom_mat2d_reflect_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_reflect_local</span><span data-if="c" style="display:none">hom_mat2d_reflect_local</span><span data-if="cpp" style="display:none">HomMat2dReflectLocal</span><span data-if="com" style="display:none">HomMat2dReflectLocal</span><span data-if="dotnet" style="display:none">HomMat2dReflectLocal</span><span data-if="python" style="display:none">hom_mat2d_reflect_local</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="hom_mat2d_translate.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_translate</span><span data-if="c" style="display:none">hom_mat2d_translate</span><span data-if="cpp" style="display:none">HomMat2dTranslate</span><span data-if="com" style="display:none">HomMat2dTranslate</span><span data-if="dotnet" style="display:none">HomMat2dTranslate</span><span data-if="python" style="display:none">hom_mat2d_translate</span></a></code>, 
<code><a href="hom_mat2d_translate_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_translate_local</span><span data-if="c" style="display:none">hom_mat2d_translate_local</span><span data-if="cpp" style="display:none">HomMat2dTranslateLocal</span><span data-if="com" style="display:none">HomMat2dTranslateLocal</span><span data-if="dotnet" style="display:none">HomMat2dTranslateLocal</span><span data-if="python" style="display:none">hom_mat2d_translate_local</span></a></code>, 
<code><a href="hom_mat2d_scale.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_scale</span><span data-if="c" style="display:none">hom_mat2d_scale</span><span data-if="cpp" style="display:none">HomMat2dScale</span><span data-if="com" style="display:none">HomMat2dScale</span><span data-if="dotnet" style="display:none">HomMat2dScale</span><span data-if="python" style="display:none">hom_mat2d_scale</span></a></code>, 
<code><a href="hom_mat2d_scale_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_scale_local</span><span data-if="c" style="display:none">hom_mat2d_scale_local</span><span data-if="cpp" style="display:none">HomMat2dScaleLocal</span><span data-if="com" style="display:none">HomMat2dScaleLocal</span><span data-if="dotnet" style="display:none">HomMat2dScaleLocal</span><span data-if="python" style="display:none">hom_mat2d_scale_local</span></a></code>, 
<code><a href="hom_mat2d_rotate.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_rotate</span><span data-if="c" style="display:none">hom_mat2d_rotate</span><span data-if="cpp" style="display:none">HomMat2dRotate</span><span data-if="com" style="display:none">HomMat2dRotate</span><span data-if="dotnet" style="display:none">HomMat2dRotate</span><span data-if="python" style="display:none">hom_mat2d_rotate</span></a></code>, 
<code><a href="hom_mat2d_rotate_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_rotate_local</span><span data-if="c" style="display:none">hom_mat2d_rotate_local</span><span data-if="cpp" style="display:none">HomMat2dRotateLocal</span><span data-if="com" style="display:none">HomMat2dRotateLocal</span><span data-if="dotnet" style="display:none">HomMat2dRotateLocal</span><span data-if="python" style="display:none">hom_mat2d_rotate_local</span></a></code>, 
<code><a href="hom_mat2d_slant.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_slant</span><span data-if="c" style="display:none">hom_mat2d_slant</span><span data-if="cpp" style="display:none">HomMat2dSlant</span><span data-if="com" style="display:none">HomMat2dSlant</span><span data-if="dotnet" style="display:none">HomMat2dSlant</span><span data-if="python" style="display:none">hom_mat2d_slant</span></a></code>, 
<code><a href="hom_mat2d_slant_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_slant_local</span><span data-if="c" style="display:none">hom_mat2d_slant_local</span><span data-if="cpp" style="display:none">HomMat2dSlantLocal</span><span data-if="com" style="display:none">HomMat2dSlantLocal</span><span data-if="dotnet" style="display:none">HomMat2dSlantLocal</span><span data-if="python" style="display:none">hom_mat2d_slant_local</span></a></code>, 
<code><a href="hom_mat2d_reflect.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_reflect</span><span data-if="c" style="display:none">hom_mat2d_reflect</span><span data-if="cpp" style="display:none">HomMat2dReflect</span><span data-if="com" style="display:none">HomMat2dReflect</span><span data-if="dotnet" style="display:none">HomMat2dReflect</span><span data-if="python" style="display:none">hom_mat2d_reflect</span></a></code>, 
<code><a href="hom_mat2d_reflect_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_reflect_local</span><span data-if="c" style="display:none">hom_mat2d_reflect_local</span><span data-if="cpp" style="display:none">HomMat2dReflectLocal</span><span data-if="com" style="display:none">HomMat2dReflectLocal</span><span data-if="dotnet" style="display:none">HomMat2dReflectLocal</span><span data-if="python" style="display:none">hom_mat2d_reflect_local</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
